1. Cellular Wireless Networks and EV-DO Generally
Many people use mobile stations, such as cell phones and personal digital assistants (PDAs), to communicate with cellular wireless networks. These mobile stations and networks typically communicate with each other over a radio frequency (RF) air interface according to a wireless communication protocol such as Code Division Multiple Access (CDMA), perhaps in conformance with one or more industry specifications such as IS-95 and IS-2000. Wireless networks that operate according to these specifications are often referred to as “1xRTT networks” (or “1x networks” for short), which stands for “Single Carrier Radio Transmission Technology.” These networks typically provide communication services such as voice, Short Message Service (SMS) messaging, and packet-data communication.
Mobile stations typically conduct these wireless communications with one or more base transceiver stations (BTSs), each of which send communications to and receive communications from mobile stations over the air interface. Each BTS is in turn communicatively connected with an entity known as a base station controller (BSC), which (a) controls one or more BTSs and (b) acts as a conduit between the BTS(s) and one or more switches or gateways, such as a mobile switching center (MSC) and/or packet data serving node (PDSN), which may in turn interface with one or more signaling and/or transport networks.
As such, mobile stations can typically communicate with one or more endpoints over the one or more signaling and/or transport networks from inside one or more coverage areas (such as cells and/or sectors) of one or more BTSs, via the BTS(s), a BSC, and an MSC and/or PDSN. In typical arrangements, MSCs interface with the public switched telephone network (PSTN), while PDSNs interface with one or more core packet-data networks and/or the Internet.
Recently, service providers have introduced mobile stations and wireless networks that communicate using a CDMA protocol known as EV-DO, which stands for “Evolution Data Optimized.” EV-DO networks, operating in conformance with one or more releases and/or revisions of industry specification IS-856, provide high rate packet-data service (including Voice over IP (VoIP) service) to mobile stations using a combination of time-division multiplexing (TDM) on the forward link (from the network to mobile stations) and CDMA technology on the reverse link (from mobile stations to the network). Furthermore, some “hybrid” mobile stations can communicate with both EV-DO networks and 1x (and/or WiMax, etc.) networks.
In the EV-DO context, a mobile station is typically referred to as an access terminal, while the network entity with which the access terminal communicates over the air interface is known as an access node. The access node typically includes a device known as a radio network controller (RNC), which is similar to a BSC. The access node also includes one or more BTSs, each including one or more antennas that radiate to define respective wireless coverage areas such as cells and sectors. Note that sectors may be used in the balance of this written description as examples of wireless coverage areas, though this is for explanation and not to the exclusion of cells or other coverage areas. Among other functions, the RNC controls one or more BTSs, and acts as a conduit between the BTSs and a PDSN, which provides access to a packet-data network. Thus, when positioned in a sector provided by an access node, an access terminal may communicate over the packet-data network via the access node and the PDSN.
2. Reverse Noise Rise
In general, in a given sector, an access node can provide service to access terminals on one carrier frequency (i.e. carrier), or on more than one. Furthermore, interference can be, and often is, present on a carrier in a sector. As used herein, an instance of a given carrier in a given sector may be referred to as a sector-carrier. In general, on a sector-carrier, an access node receives transmissions from access terminals operating on that sector-carrier. However, the access node also often receives transmissions on that sector-carrier from other access terminals, other devices, and/or any other sources of interference on that frequency.
At a given moment, the sum total of what an access node is receiving on a given sector-carrier is known as the “reverse noise” on that sector-carrier. At regular intervals, and in fact quite frequently (e.g., once for every forward-link timeslot (i.e. once every approximately 1.67 milliseconds (ms))), access nodes compute a value known as “reverse noise rise” (RNR), which is the difference between (i) the reverse noise that the access node is currently detecting and (ii) a baseline level of reverse noise. Thus, the access node computes how far the reverse noise has risen above that baseline.
To determine the baseline, EV-DO networks typically periodically utilize what is known as a silent interval, which may occur on the order of once every five minutes, and last on the order of 40-100 ms, both of which are typically configurable. During the silent interval, access terminals know not to transmit anything to the access node. The access node can then measure whatever else is out there. As such, the baseline corresponds to the amount of reverse noise when the sector-carrier is unloaded (i.e. without any transmitting access terminals). Note that other reverse-link-noise levels could be used as a baseline.
In general, the lower the RNR is at a given moment, the more favorable the RF conditions are for communication between access terminals and the access node at that moment. Correspondingly, the higher the RNR, the less favorable the RF conditions are. Also, a low RNR generally corresponds to a sector-carrier being lightly loaded, in other words that is supporting communications for a relatively low number of access terminals. A high RNR, as one might expect, generally corresponds to a sector-carrier being heavily loaded, in other words that is supporting communications for a relatively high number of access terminals.
3. Reverse Activity Bit (RAB)
Access nodes typically use the calculated value of RNR to, among other things, set or clear what is known as the Reverse Activity Bit (RAB), which is a value that the access node makes equal to 0 or 1 (i.e. the RAB has two states: set and cleared), and repeatedly transmits on the forward link to all the access terminals operating on a given sector-carrier. Making the RAB equal to 0 (zero) is known as and referred to herein as clearing the RAB, while making the RAB equal to 1 (one) is known as and referred to herein as setting the RAB. As stated, the access node typically calculates RNR at the same frequency at which it transmits forward-link timeslots, or once every 1.67 ms. The access node typically sets or clears the RAB at this same frequency.
With respect to how the access node chooses whether to set or clear the RAB, if the RNR is above a particular threshold (the “RNR threshold”), which is a configurable parameter that may be between 0 dB and 30 dB, as an exemplary range, the access node sets the RAB. If the RNR is below the RNR threshold, the access node clears the RAB. The access node transmits the RAB in a TDM channel—known as the reverse-activity channel—on the forward link. That channel is itself a TDM portion of a forward-link channel known as the Media Access Control (MAC) channel. Note that the RAB is the same for all access terminals on a sector-carrier. The manner in which those access terminals use the value of the RAB is explained below.
4. Access Terminals Using the RAB
The initial release and a subsequent revision of IS-856 are known as Release 0 (Rel. 0) and Revision A (Rev. A), respectively, and are both hereby incorporated herein by reference. The following two subsections respectively relate to how EV-DO access terminals use the RAB in networks that operate according to Rel. 0 and Rev. A. Note that some networks may provide service according to both Rel. 0 and Rev. A.
a. IS-856, Release 0
Under Rel. 0, access terminals can transmit data to access nodes on the reverse link at five different data rates: 9.6 kilobits per second (kbps), 19.2 kbps, 38.4 kbps, 76.8 kbps, and 153.6 kbps. Transmission at these various data rates involves using different types of coding for the data to be transmitted, among other differences. Note that, during a given instance of an access terminal transmitting data to an access node, the access terminal typically starts out using the lowest of those data rates, 9.6 kbps.
Recall that the EV-DO reverse link is essentially a CDMA channel over which the access terminal transmits data to the access node. And the access terminal does so in units of time known as frames, each of which last approximately 26.67 ms, which is the length of time of 16 timeslots on the forward link. And the network is synchronized on CDMA time, such that sets of 16 timeslots on the forward link will be aligned along reverse-link-frame time boundaries.
So, the EV-DO access terminal will transmit its first frame to the access node at 9.6 kbps. And then, for the next frame, the access terminal will stay at that rate, or perhaps transition up to 19.2 kbps. From there, frame by frame for all subsequent frames, the access terminal will transmit at the rate that it is currently using, transition up to the next-higher rate, or transition down to the next-lower rate. Note that rate-setting frequencies other than every frame, such as every other frame or perhaps every four frames, could be used as well.
These (in this example) frame-by-frame decisions to maintain or change the reverse-link data rate are controlled by the RAB and by a table of reverse-link transitional probabilities that are stored by each access terminal. This table is typically sent from the access node to the access terminal during a session-setup process, though it can also be sent (or updated) as new air-interface connections are made between the access node and the access terminal, or perhaps periodically, or perhaps in response to some other event.
The table typically contains eight probabilities, each expressed as an integer between 0 and 255, as explained more fully below. The eight probabilities correspond to the eight possible transitions among the five possible data rates. So, the transitional probabilities correspond to transitioning (in kbps) (1) from 9.6 up to 19.2, (2) from 19.2 up to 38.4, (3) from 38.4 up to 76.8, (4) from 76.8 up to 153.6, (5) from 153.6 down to 76.8, (6) from 76.8 down to 38.4, (7) from 38.4 down to 19.2, and (8) from 19.2 down to 9.6.
Typically, when an access terminal is at the start of transmitting a given frame at a given data rate (say, 38.4 kbps), the access terminal checks the RAB. If the RAB is cleared (i.e. equal to 0), the RNR in the sector is not above the RNR threshold, and thus the access terminal knows that it has two options with respect to the next frame: stay at 38.4 kbps or move up to 76.8 kbps. To determine which of those options the access terminal will take for the next frame, the access terminal generates a random integer between 0 and 255, and compares that random integer with the appropriate transitional probability. In this example, the access terminal would compare the random integer with the 38.4-kbps-to-76.8-kbps value.
If the random integer is less than or equal to the 38.4-kbps-to-76.8-kbps table value, the access terminal will transition up to 76.8 kbps for the next frame. If not, the access terminal will stay at 38.4 kbps for the next frame. The table value is thus a representation of a probability, since the integer that the access terminal compares with the table value is randomly generated. If, say, the table value were 255, the access terminal would have a probability of 1.00 (100%) for moving up to the next-higher data rate; if the table value were 0, the access terminal would only have a 1/256 probability of moving up. And so on.
If the RAB is set (i.e. equal to 1), however, the access node has decided that there is too much reverse noise on the sector-carrier at the moment, and thus the access terminal knows that it has two options with respect to the next frame. Again using 38.4 kbps as an example of the access terminal's current rate, the two options are to stay at 38.4 kbps or move down to 19.2 kbps. To determine which of those options the access terminal will take for the next frame, the access terminal again generates a random integer between 0 and 255, and compares that random integer with the appropriate reverse-link transitional probability. This time, the access terminal would compare the random integer with the 38.4-kbps-to-19.2-kbps value.
As with transitions up to higher data rates, when talking about transitions down to lower data rates, the access terminal checks whether the random integer it generates is less than or equal to the 38.4-to-19.2 table value. If so, the access terminal will transition down to 19.2 kbps for the next frame. If not, the access terminal will stay at 38.4 kbps for the next frame. Again, the table value represents a probability, since the integer that the access terminal compares with the table value is randomly generated. If, the table value were 255, the access terminal would have a probability of 1.00 (100%) for moving down to the next-lower data rate; if the table value were 0, the access terminal would only have a 1/256 probability of moving down. And so on.
b. IS-856, Revision A
As explained above, under Rev. 0, reverse-link data rates are permitted only to increase or decrease by one step at a time (i.e. up to the next-higher data rate or down to the next-lower data rate), controlled by the RAB and the tables of reverse-link transitional probabilities. Under Rev. A, however, a more dynamic, iterative, equation-based approach is utilized, which permits data rates to change more rapidly.
Briefly, under Rev. A, the access node still repeatedly transmits a RAB equal to 0 or 1. Each individual access terminal then uses that value to compute what are known as a Quick Reverse Activity Bit (QRAB) and a Filtered Reverse Activity Bit (FRAB). The QRAB is binary (equal to 0 or 1), while the FRAB is a real number having a value anywhere between −1 and 1 inclusive. The QRAB is a short-term, binary indication of loading: a QRAB of 1 is associated with congestion on the sector-carrier, while a QRAB of 0 is associated with non-congestion. The FRAB is more of a long-term, continuous, historical value, where values closer to −1 indicate a lower degree of congestion on the sector-carrier reverse link, while values closer to 1 indicate a higher degree of congestion on the sector-carrier reverse link. Thus, both the QRAB and the FRAB reflect the access terminal's interpretation of the RAB from the access node.
The access terminal then calculates a value known in Rev. A as “T2PInflow.” T2PInflow is an iterative value: prior to each reverse-link transmission, it has a current value, and that current value is one of the inputs in determining its value in the next calculation. Note that the “T2P” prefixes to many of the value and function names in this explanation means “Traffic to Pilot,” as one governing principle that drives the determination of reverse-link data rates under Rev. A is the relative values of (1) the power level that the access terminal is using to transmit on the reverse-link portion of the traffic channel and (2) the power level at which the access terminal is detecting the pilot signal from the access node, as is known in the art.
Rev. A defines two functions called “T2PDn(.)” and “T2PUp(.),” both of which are functions of the current T2PInflow, FRAB, and a filtered value of the serving sector pilot strength. If the access terminal sets QRAB to 1 (corresponding to a relatively congested sector-carrier), then T2PInflow will be decremented by the result of T2PDn(.); if, on the other hand, the access terminal sets QRAB to 0 (corresponding to a relatively non-congested sector-carrier), then T2PInflow will be incremented by the result of T2PUp(.). As with all of the details of these computations, the detailed equations can be found in IS-856, Rev. A.
Under Rev. A, this updated T2PInflow value is then used as one of the inputs in what is referred to as a “token bucket” mechanism, which is used to determine a packet size for the next reverse-link transmission. And it is this packet size that essentially determines the reverse-link data rate at which the access terminal will be transmitting, based on a table that correlates packet sizes to data rates. In general, the token bucket mechanism is used as a regulator, to provide data-rate stability over time, while still permitting some instantaneous deviation.
One of the parameters of the token bucket mechanism is the “BucketLevel.” Using that value, the updated T2PInflow, and the FRAB, the access terminal calculates a value known as “PotentialT2POutflow.” The access terminal also maintains a data queue for outgoing data (i.e. data that is ready and waiting to be transmitted to the access node on the reverse link). The access terminal keeps track of the current size of this data queue in a variable referred to here as the “data queue size.” The access terminal determines the packet size for the next transmission based on PotentialT2POutflow, the data queue size, other constraints and maximum/minimum allowed values, and the access terminal's transmission power.
As stated, the computed packet size essentially determines the reverse-link data rate, which, under Rev. A, can range from 19.2 kbps up to 1.84 megabits per second (Mbps). As a final part of the calculation, the access terminal computes a value known as “T2POutflow” (also referred to as “actual T2POutflow”) based on the computed packet size. The access terminal then updates the BucketLevel with the updated T2PInflow value and the newly-calculated (actual) T2POutflow value, so that the BucketLevel will be ready for the next iteration.